博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用JavaScript生成Android SDK的下载地址(4)——按“API Level”分类
阅读量:6416 次
发布时间:2019-06-23

本文共 2791 字,大约阅读时间需要 9 分钟。

  按“API Level”分类对于网页程序而言,可以理解为——将数据输出到不同的div。

  很多SDK是与 API Level 相关的,具有“sdk:api-level”属性,它是一个整数,值为2(Android 1.1)至14(Android 4.0)。我们可以用数组来管理——

var arrAPI = new Array();    // API Level数组。用于管理给出了API Level的。

 

 

  除了与 API Level 相关的SDK外,还有一些文件是与SDK无关的,它们没有“sdk:api-level”属性。怎么处理呢?按xml标签名进行分类似乎比较好。因标签名是一个字符串,应使用Object来管理集合——

var arrTag = new Object();    // tag集合。用于管理没有给出API Level的。

 

  然后在页面中添加两个div,决定数据所显示的位置——

 

  再编写一个getMyDiv函数,根据API Level和标签,返回所对应的div——

// 返回图层对象,根据API Level和tag function getMyDiv(sapilevel, stag) {
var div = null; var l = parseInt(sapilevel); if ( isNaN(l) || l<0 ) {
// 无API Level,根据tag div = arrTag[stag]; if (null==div) {
div = document.createElement("div"); div.className = "div_border"; var divTag = getRef("divTag"); divTag.appendChild(div); divTag.appendChild(document.createElement("br")); // 空一行 arrTag[stag] = div; } } else {
// 根据API Level div = arrAPI[l]; if (null==div) {
div = document.createElement("div"); div.className = "div_border"; var divAPI = getRef("divAPI"); divAPI.appendChild(div); divAPI.appendChild(document.createElement("br")); // 空一行 arrAPI[l] = div; } } return div; }

 

  showxml函数只需要做少许调整,改为在内循环中将数据输出到对应的div——

// 显示xml function showxml(urlPath, divdoc, xmlDoc) {
if (null==divdoc) return; if (null==xmlDoc) {
divdoc.innerHTML = "error!"; return; } // == main == //divdoc.innerHTML = xml_transformNode(xmlDoc, xsl); divdoc.innerHTML = "OK!"; // Parse //var sall = ""; // 所有内容 var nodes=xmlDoc.documentElement.childNodes; for(var i=0; i
\n"; // 档案 for(var i3=0; i3
\n"; // 文本模式 sall += "
" + surl + "
\n"; // 链接模式 } } } // 加入 var div = getMyDiv(sapilevel, stag); if (null!=div) {
div.innerHTML = div.innerHTML + sall; } } } } //divdoc.innerHTML = sall; }

  在调试时发现,因repository-5.xml文件较多,加载时间较长。而厂商的xml一般较小,加载时间短,会排在前面。而我们希望按“API Level”排序。最简单的解决方式是预先执行getMyDiv——

// 初始化 function init() {
// 预先执行getMyDiv,使API Level排序正确 for(var i=2; i<=14; i++) getMyDiv(i, ""); // Load main doload("http://dl.google.com/android/repository/repository-5.xml", "main"); // Load addons_list xml_loadFile("http://dl.google.com/android/repository/addons_list-1.xml", onload_addons); }

 

  全部代码为——

   Anroid SDK URL 4      

Anroid SDK URL(安卓SDK地址)

addons_list-1.xml: loading...

 

 

  运行效果为——

[sdkurl4.png]

 

  完美完成!

 

(全文完)

 

源码下载——

转载地址:http://jbpra.baihongyu.com/

你可能感兴趣的文章
VOA 2009/11/02 DEVELOPMENT REPORT - In Kenya, a Better Life Through Mobile Money
查看>>
重学前端-CSS篇3-颜色、单位、字体、命名规范、书写顺序
查看>>
centos7防火墙常用命令
查看>>
rocketmq-producer
查看>>
throw语句的使用简介
查看>>
各种日期格式获取
查看>>
解决 LLVM 错误 fatal error: ‘csignal’ file not found
查看>>
freebase api的使用
查看>>
163网易yum源改编
查看>>
【xinfanqie】找回丢失的电脑数据的小妙招
查看>>
linux one by one
查看>>
linux正则
查看>>
大型网站技术架构(八)网站的安全架构
查看>>
我的友情链接
查看>>
IOS英语
查看>>
Maven学习总结(三)——使用Maven构建项目
查看>>
关于烂代码的那些事(中)
查看>>
Spring学习总结(4)——Spring AOP教程
查看>>
jquery(插件)开发相关资料
查看>>
ansible 运维工具简单整理
查看>>